Higher Order Functions Considered Unnecessary for Higher Order Programming

نویسنده

  • Joseph A. Goguen
چکیده

It is often claimed that the essence of functional programming is the use of functions as values, i.e., of higher order functions, and many interesting examples have been given showing the power of this approach. Unfortunately, the logic of higher order functions is diicult, and in particular, higher order uniication is undecidable. Moreover (and closely related), higher order expressions are notoriously diicult for humans to read and write correctly. However, this paper shows that typical higher order programming examples can be captured with just rst order functions, by the systematic use of parameterized modules, in a style that we call parameterized programming. This has the advantages that correctness proofs can be done entirely within rst order logic, and that interpreters and compilers can be simpler and more eecient. Moreover, it is natural to impose semantic requirements on modules, and hence on functions. A more subtle point is that higher order logic does not always mix well with subsorts, which can nonetheless be very useful in functional programming by supporting the clean and rigorous treatment of partially deened functions, exceptions, overloading, multiple representation, and coercion. Although higher order logic cannot always be avoided in speciication and veriication, it should be avoided wherever possible, for the same reasons as in programming. This paper contains several examples, including one in hardware veriication. An appendix shows how to extend standard equational logic with quantiication over functions, and justiies a perhaps surprising technique for proving such equations using only ground term reduction.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Mathematical solution of multilevel fractional programming problem with fuzzy goal programming approach

In this paper, we show a procedure for solving multilevel fractional programming problems in a large hierarchical decentralized organization using fuzzy goal programming approach. In the proposed method, the tolerance membership functions for the fuzzily described numerator and denominator part of the objective functions of all levels as well as the control vectors of the higher level decision ...

متن کامل

A TRUST-REGION SEQUENTIAL QUADRATIC PROGRAMMING WITH NEW SIMPLE FILTER AS AN EFFICIENT AND ROBUST FIRST-ORDER RELIABILITY METHOD

The real-world applications addressing the nonlinear functions of multiple variables could be implicitly assessed through structural reliability analysis. This study establishes an efficient algorithm for resolving highly nonlinear structural reliability problems. To this end, first a numerical nonlinear optimization algorithm with a new simple filter is defined to locate and estimate the most ...

متن کامل

Higher order close-to-convex functions associated with Attiya-Srivastava operator

In this paper‎, ‎we introduce a new class$T_{k}^{s,a}[A,B,alpha‎ ,‎beta ]$ of analytic functions by using a‎ ‎newly defined convolution operator‎. ‎This class contains many known classes of‎ ‎analytic and univalent functions as special cases‎. ‎We derived some‎ ‎interesting results including inclusion relationships‎, ‎a radius problem and‎ ‎sharp coefficient bound for this class‎.

متن کامل

Tabled Higher-Order Logic Programming

A logical framework is a general meta-language for specifying and implementing deductive systems, given by axioms and inference rules. Based on a higher-order logic programming interpretation, it supports executing logical systems and reasoning with and about them, thereby reducing the effort required for each particular logical system. In this thesis, we describe different techniques to improv...

متن کامل

Extension of Higher Order Derivatives of Lyapunov Functions in Stability Analysis of Nonlinear Systems

The Lyapunov stability method is the most popular and applicable stability analysis tool of nonlinear dynamic systems. However, there are some bottlenecks in the Lyapunov method, such as need for negative definiteness of the Lyapunov function derivative in the direction of the system’s solutions. In this paper, we develop a new theorem to dispense the need for negative definite-ness of Lyapunov...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1990